some_sub(s/^[\*\+-] (.+)/$1/r, $opt);
some_sub(s/^[\*\+-] (.+)/$1/r, $opt);
some_sub(s/^[\+-] (.+)/$1/r, $opt);
####
Base::Inline
Base::LineMagic
Base::Menu
Base::Page
Base::Path
Base::Style
Date::Misc
Date::Verify
Date::Birth::DayStone
Date::Birth::Flower
Date::Birth::Stone
Date::Birth::ZodiacStone
Fancy::Function
Fancy::Map
Fancy::Rand
Fancy::Splice
Fancy::Split
Fancy::Join # brings Defined and Grammatical together in one place
Fancy::Join::Defined
Fancy::Join::Grammatical
Fun::AstroBody
Fun::ConvertFileSize
Fun::Numbers
Fun::Refreshment
Fun::SoundofMusicSong
HTML::Attributes
HTML::Elements
HTML::Forms
Random::Alpha
Random::Descriptor
Random::Food
Random::GemMetalJewelry
Random::Government
Random::Insanity
Random::Misc
Random::Month
Random::Range
Random::SciFi
Random::Size
Random::SpecialDice
Random::Thing
Random::Time
Random::Title
Random::Water
Random::Body::Function
Random::Body::Modification
Random::Color
Random::Color::Hex
Random::Color::VisiBone
Random::Name::Pattern
Random::Name::Triador
Random::RPG::Alignment
Random::RPG::Class
Random::RPG::Event
Random::RPG::Military
Random::RPG::Monster
Random::RPG::SavingThrow
Random::RPG::SpecialAttack
Random::RPG::Spell
Random::RPG::Weapon
Random::RPG::WildPsionics
Random::RPG::MagicItem
Random::RPG::MagicItem::Giant
Random::RPG::MagicItem::Ring::SpellDoubling
Random::RPG::World::HighLevelCampaigns::ChronologicalRating
Random::RPG::World::HighLevelCampaigns::EcologicalRating
Random::RPG::World::HighLevelCampaigns::MagicalRating
Random::RPG::World::HighLevelCampaigns::TechnologicalRating
Random::RPG::World::WorldBuildersGuidebook::ClimateTerrainSubsistance
Random::RPG::World::WorldBuildersGuidebook::Coastlines
Random::RPG::World::WorldBuildersGuidebook::CulturalCharaceristic
Random::RPG::World::WorldBuildersGuidebook::EarthquakeActivity
Random::RPG::World::WorldBuildersGuidebook::GovernmentForm
Random::RPG::World::WorldBuildersGuidebook::Hydrology
Random::RPG::World::WorldBuildersGuidebook::LandWaterMasses
Random::RPG::World::WorldBuildersGuidebook::LocalDistribution
Random::RPG::World::WorldBuildersGuidebook::LocalPopulation
Random::RPG::World::WorldBuildersGuidebook::LocalTopography
Random::RPG::World::WorldBuildersGuidebook::MountainPlacement
Random::RPG::World::WorldBuildersGuidebook::MountainSize
Random::RPG::World::WorldBuildersGuidebook::Pantheon
Random::RPG::World::WorldBuildersGuidebook::PlanetaryTemperature
Random::RPG::World::WorldBuildersGuidebook::PlateMovement
Random::RPG::World::WorldBuildersGuidebook::PrevailingWinds
Random::RPG::World::WorldBuildersGuidebook::Race
Random::RPG::World::WorldBuildersGuidebook::RacePosition
Random::RPG::World::WorldBuildersGuidebook::RegionalClimate
Random::RPG::World::WorldBuildersGuidebook::RegionalDistribution
Random::RPG::World::WorldBuildersGuidebook::SeasonalVariations
Random::RPG::World::WorldBuildersGuidebook::SettlementPattern
Random::RPG::World::WorldBuildersGuidebook::Size
Random::RPG::World::WorldBuildersGuidebook::SocialAlignment
Random::RPG::World::WorldBuildersGuidebook::TechnologyLevel
Random::RPG::World::WorldBuildersGuidebook::VolcanicActivity
Random::RPG::World::WorldBuildersGuidebook::WorldHooks
Random::RPG::World::WorldBuildersGuidebook::WorldShape
RPG::AssetCost
RPG::CharacterMutation
RPG::InterspeciesAge
RPG::Monster
RPG::RacialLanguages
RPG::WeaponName
RPG::Character::AbilityScores
RPG::Character::Alignment
RPG::Character::AttacksPerRound
RPG::Character::Class
RPG::Character::HitDice
RPG::Character::ProficiencySlots
RPG::Character::RealityBubble
RPG::Character::WeaponSlots
RPG::Character::WizardSkills
RPG::Character::GameTables
RPG::Character::GameTable::ArmorClass
RPG::Character::GameTable::Psionics
RPG::Character::GameTable::RogueSkills
RPG::Character::GameTable::SavingThrows
RPG::Character::GameTable::SpellProgression
RPG::Character::GameTable::THAC0
RPG::Character::GameTable::TurningUndead
RPG::Spell::List
RPG::Spell::Book
Util::Abbreviation
Util::Columns
Util::Convert
Util::ExternalLinks
Util::FamilyTree
Util::Line
Util::ListLengths
Util::Movie
Util::Number
Util::People
Util::QuoteAttribute
Util::Sort
Util::TransformName
Util::WordFind
Util::Data
Util::Data::Compare
Util::Twitter
Util::Twitter::Data
Util::Twitter::ListSort
Xanth::Character
Xanth::Crossbreed # only works if the data is in the module
Xanth::Dates
Xanth::Family
Xanth::LineMagic
Xanth::Location
Xanth::Novel
Xanth::Species
Xanth::Util
Zodiac::Chinese
##
##
my @monsters = map{chomp $_; $_} <$word_find_list>;
my @items;
for my $monster (@monsters) {
push @items, [$monster, { class => 'monster_item' }];
}
my @gems = <$gems_file>;
chomp @gems;
my %alpha_gems = alpha_array(\@gems);
for my $gems (keys %alpha_gems) {
my @list = @{$alpha_gems{$gems}};
$alpha_gems{$gems} = undef;
@{$alpha_gems{$gems}} = map { "$_ ".external_links([['Wikipedia', $_, $_],['Google', searchify($_), $_]]) } sort @list;
}
##
##
my @monsters = map { chomp $_; [$_, { class => 'monster_item' }] } <$word_find_list>;
my @gems = map { chomp $_; "$_ ".external_links([['Wikipedia', $_, $_],['Google', searchify($_), $_]]) } <$gems_file>;
my %alpha_gems = alpha_array(\@gems);
##
##
if ($user_time < $dawn) {
$daypart = 'night';
}
elsif ($user_time < $noon) {
$daypart = 'morning';
}
elsif ($user_time < tmath($dusk, -1)) {
$daypart = 'afternoon';
}
else {
$daypart = 'evening';
)
##
##
#!/usr/bin/perl
use strict;
use warnings;
use Astro::Sunrise qw(sun_rise sun_set);
sub tmath {
my ($time, $offset) = @_;
my ($hour, $minutes) = split(/:/,$time);
$hour += $offset;
return "$hour:$minutes";
}
my $user_lon = -77.314444;
my $user_lat = 39.534444;
my $user_spot = { lon => $user_lon, lat => $user_lat };
my $noon = '12:00';
my $dawn = sun_rise($user_spot);
my $dusk = sun_set ($user_spot);
my %dayparts = (
'morning' => { 'begin' => $dawn, 'end' => $noon},
'afternoon' => { 'begin' => $noon, 'end' => tmath($dusk, -1) },
'evening' => { 'begin' => tmath($dusk, -1) , 'end' => tmath($dusk, 1) },
'night' => { 'begin' => tmath($dusk, 1) , 'end' => $dawn}
);
##
##
use strict;
use warnings FATAL => qw( all );
use Data::Dumper;
$| = 1;
$Data::Dumper::Deepcopy = 1;
$Data::Dumper::Sortkeys = 1;
local $\ = "\n";
my @laundry_loads = (
'cottons', 'cold water items',
'sheets', 'uniforms',
'clothing of the day'
);
my @laundry_tasks = ( 'wash', 'dry', 'fold' );
sub wash {
my ( $load, $loads ) = @_;
}
sub dry {
my ( $load, $loads ) = @_;
}
sub fold {
my ( $load, $loads ) = @_;
}
my @progress = ( undef, undef, undef, );
my %task;
foreach my $i ( 0 .. $#laundry_tasks ) {
$task{ $laundry_tasks[$i] } = $i;
}
while ( my $load = shift @laundry_loads or scalar keys %task ) {
print "";
foreach my $current_task ( reverse @laundry_tasks ) {
if (
not scalar @laundry_loads
and not(defined $task{$current_task}
and defined $progress[ $task{$current_task} ] )
)
{
delete $task{$current_task};
next;
}
if ( defined $progress[ $task{$current_task} ] ) {
my $current_load = $progress[ $task{$current_task} ];
my $activity = qq{$current_task $current_load};
print $activity;
if ( $current_task eq q{wash}
and defined $progress[ $task{$current_task} ] )
{
}
if ( $current_task eq q{dry}
and defined $progress[ $task{$current_task} ] )
{
}
if ( $current_task eq q{fold}
and defined $progress[ $task{$current_task} ] )
{
if ( $current_load =~
/sheets|uniforms|clothing of the day/ )
{
my $new_load =
$current_load eq 'sheets'
? 'laundry'
: $current_load;
print "put away $new_load";
}
if ( $current_load eq 'sheets' ) {
print 'vacuum the house';
print 'make the bed';
}
if ( $current_load eq 'uniforms' ) {
print 'take showers';
}
pop @progress;
}
}
}
if ( defined $load ) {
unshift @progress, $load;
}
else {
unshift @progress, undef;
}
}
##
##
$ perl la-2.pl 2>&1
wash cottons
dry cottons
wash cold water items
fold cottons
dry cold water items
wash sheets
fold cold water items
dry sheets
wash uniforms
fold sheets
put away laundry
vacuum the house
make the bed
dry uniforms
wash clothing of the day
fold uniforms
put away uniforms
take showers
dry clothing of the day
fold clothing of the day
put away clothing of the day
##
##
#!/usr/bin/perl
use strict;
use warnings FATAL => qw( all );
use Getopt::Long;
use lib '../../files/lib';
use Util::Movie qw(movie);
use Util::Convert qw(filify);
use Util::Data qw(data_file);
use Util::Sort qw(article_sort);
GetOptions( 'open' => \my $open );
my $movies = movie('data');
local $\ = "\n";
for my $movie (sort { article_sort($a->{'title'}, $b->{'title'}) } values %$movies) {
my $title = $movie->{'title'};
next if ($movie->{'media'} ne 'tv' || (($movie->{'end year'} && $movie->{'end year'} ne 'tbd') || !$movie->{'end year'}));
next if $title =~ /Awards/;
print $title;
next if !$open;
my $filename = filify($title);
my $file = data_file('Movies/Episode_lists',"$filename.txt");
system("xdg-open", $file) == 0 || warn "Can't open $file";
}