# NAME

Weather::TW - Fetch Taiwan weather data from [http://www.cwb.gov.tw/](http://www.cwb.gov.tw/)
Most methods are reimplimented in [Weather::TW::Forecast](http://search.cpan.org/perldoc?Weather::TW::Forecast) use them instead.

# SYNOPSIS

    use Weather::TW::Forecast;
    my $weather = Weather::TW::Forecast->new(
      location => '台北',
    );
    foreach ($weather->short_forecasts){
      say $_->start;
      say $_->end;         # DateTime objects specify forecast time interval
      say $_->temperature; # Temperature string, ex: '23 ~ 25'
      say $_->weather;     # Weather string, ex "陰短暫陣雨" 
      say $_->confortable; # ex '舒適'
      say $_->rain;        # probabilty to rain, 0~100%
    }
    foreach ($weather->weekly_forecasts){
      say $_->day;         # DateTime object
      say $_->temperature; # Temperature string, ex: '23 ~ 25'
      say $_->weather;     # Weather string, ex "陰短暫陣雨" 
    }
    my $hash_ref = $weather->montly_mean;
    say $hash_ref->{temp_high}; # Maximum temperature
    say $hash_ref->{temp_low};  # Mininum temperature
    say $hash_ref->{rain};      # Rain precipitation (mm)

head1 DESCRIPTION

[Weather::TW::Forecast](http://search.cpan.org/perldoc?Weather::TW::Forecast) reimplement [Weather::TW](http://search.cpan.org/perldoc?Weather::TW) with new web address (from
V6 to V7) and new parser (use [Mojo::DOM](http://search.cpan.org/perldoc?Mojo::DOM) instead of [HTML::TreeBulder](http://search.cpan.org/perldoc?HTML::TreeBulder)). The
methods in [Weather::TW](http://search.cpan.org/perldoc?Weather::TW) will be deprecated and shiped to
[Weather::TW::Forecast](http://search.cpan.org/perldoc?Weather::TW::Forecast). More submodules will be develop to handle obsevations
and detail rain infos.  [Weather::TW](http://search.cpan.org/perldoc?Weather::TW) will be a abstract class to access these
submodules.

# OLD SYNOPSIS

Documentation below will be deprecated. 

      use Weather::TW;
    

      my $weather = Weather::TW->new;
      my $xml = $weather->area('Taipei City')->xml;
      my $json = $weather->json;
      my $yaml = $weather->yaml;
      my %hash = $weather->hash;
    

      foreach my $area ($weather->area_en){
        my $xml = $weather->area($area)->xml
        print $xml;
      }
    

    use utf8;
    $xml = $weather->area('台北')->xml;
    # Chinese also works!

# DESCRIPTION

This module parse data from [http://www.cwb.gov.tw/](http://www.cwb.gov.tw/) (中央氣象局), and generates xml/json/hash/yaml data.

# OLD METHODS

- `new`

Create a new `Weather::TW` object. Available option is ` lang `, see method ` lang `.

    $weather = Weather::TW->new( lang => 'zh' );

- `area($area_name)`



City name can be either Chinese or English. The returned value is `$self` so you can use it for cascading.

    $xmlstr = $weather->area('Taipei City')->xml;

The available area names are:

    台北市         Taipei City
    新北市         New Taipei City
    台中市         Taichung City
    台南市         Tainan City
    高雄市         Kaohsiung City
    基隆北海岸     Keelung North Coast
    桃園           Taoyuan
    新竹           Hsinchu
    è‹—æ —           Miaoli
    彰化           Changhua
    南投           Nantou
    雲林           Yunlin
    嘉義           Chiayi
    屏東           Pingtung
    恆春半島       Hengchun Peninsula
    宜蘭           Yilan
    花蓮           Hualien
    台東           Taitung
    澎湖           Penghu
    金門           Kinmen
    馬祖           Matsu

- ` lang($lang) `

Available options are 'zh' or 'en'.

- `area_zh`

Return area names in Chinese.

    @names = $weather->area_zh;

- `area_en`

Return area names in English.

    @names = $weather->area_en;

- `xml`

Return data as xml.

- `json`

Return data as json.

- `json_pretty`

Pretty json.

- `yaml`

Return data as yaml.

- `hash`

Return a perl hash object.

    %hash = $weather->hash;

# SEE ALSO

[https://github.com/dryman/Weather-TW](https://github.com/dryman/Weather-TW)

and

[XML::Smart](http://search.cpan.org/perldoc?XML::Smart)

# AUTHOR

dryman, <idryman@gmail.com>

# COPYRIGHT AND LICENSE

Copyright (C) 2011 by dryman

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.