Carp Songbook

  • Cardcaptor Sakura takes place in the fictional Japanese city of Tomoeda which is somewhere near Tokyo.Ten-year-old Sakura Kinomoto accidentally releases a set of magical cards known as Clow Cards from a book in her basement created and named after the sorcerer Clow Reed.
  • A character song album titled Cardcaptor Sakura Character Songbook was released in January 1999 containing tracks from the previously released character song singles as well as new tracks sung by the various voice actors.

Remembering Karen Carpenter, 30 Years Later By the time she was 24, Carpenter was already famous, having released more than a dozen hit records with her brother Richard. Her legacy remains a. These simple, homemade carp bait recipes work great in hooking those big carp fish. So if you are planning your next carp fishing trip then try these recipes for sure. One of the largest members of the minnow family, carps are the most commonly found fish in the waters of America and around the world.

version 1.50

Carp - alternative warn and die for modules

The Carp routines are useful in your own modules because they act like die() or warn(), but with a message which is more likely to be useful to a user of your module. In the case of cluck() and confess(), that context is a summary of every call in the call-stack; longmess() returns the contents of the error message.

For a shorter message you can use carp() or croak() which report the error as being from where your module was called. shortmess() returns the contents of this error message. There is no guarantee that that is where the error was, but it is a good educated guess.

Carp takes care not to clobber the status variables $! and $^E in the course of assembling its error messages. This means that a $SIG{__DIE__} or $SIG{__WARN__} handler can capture the error information held in those variables, if it is required to augment the error message, and if the code calling Carp left useful values there. Of course, Carp can't guarantee the latter.

You can also alter the way the output and logic of Carp works, by changing some global variables in the Carp namespace. See the section on GLOBAL VARIABLES below.

Here is a more complete description of how carp and croak work. What they do is search the call-stack for a function call stack where they have not been told that there shouldn't be an error. If every call is marked safe, they give up and give a full stack backtrace instead. In other words they presume that the first likely looking potential suspect is guilty. Their rules for telling whether a call shouldn't generate errors work as follows:

  1. Any call from a package to itself is safe.

  2. Packages claim that there won't be errors on calls to or from packages explicitly marked as safe by inclusion in @CARP_NOT, or (if that array is empty) @ISA. The ability to override what @ISA says is new in 5.8.

  3. The trust in item 2 is transitive. If A trusts B, and B trusts C, then A trusts C. So if you do not override @ISA with @CARP_NOT, then this trust relationship is identical to, 'inherits from'.

  4. Any call from an internal Perl module is safe. (Nothing keeps user modules from marking themselves as internal to Perl, but this practice is discouraged.)

  5. Any call to Perl's warning system (eg Carp itself) is safe. (This rule is what keeps it from reporting the error at the point where you call carp or croak.)

  6. $Carp::CarpLevel can be set to skip a fixed number of additional call levels. Using this is not recommended because it is very difficult to get it to behave correctly.

#Forcing a Stack Trace

As a debugging aid, you can force Carp to treat a croak as a confess and a carp as a cluck across all modules. In other words, force a detailed stack trace to be given. This can be very helpful when trying to understand why, or from where, a warning or error is being generated.

This feature is enabled by 'importing' the non-existent symbol 'verbose'. You would typically enable it by saying

or by including the string -MCarp=verbose in the PERL5OPT environment variable.

Alternately, you can set the global variable $Carp::Verbose to true. See the GLOBAL VARIABLES section below.

#Stack Trace formatting

At each stack level, the subroutine's name is displayed along with its parameters. For simple scalars, this is sufficient. For complex data types, such as objects and other references, this can simply display 'HASH(0x1ab36d8)'.

Carp gives two ways to control this.

  1. For objects, a method, CARP_TRACE, will be called, if it exists. If this method doesn't exist, or it recurses into Carp, or it otherwise throws an exception, this is skipped, and Carp moves on to the next option, otherwise checking stops and the string returned is used. It is recommended that the object's type is part of the string to make debugging easier.

  2. For any type of reference, $Carp::RefArgFormatter is checked (see below). This variable is expected to be a code reference, and the current parameter is passed in. If this function doesn't exist (the variable is undef), or it recurses into Carp, or it otherwise throws an exception, this is skipped, and Carp moves on to the next option, otherwise checking stops and the string returned is used.

  3. Otherwise, if neither CARP_TRACE nor $Carp::RefArgFormatter is available, stringify the value ignoring any overloading.


This variable determines how many characters of a string-eval are to be shown in the output. Use a value of 0 to show all text.

Defaults to 0.


This variable determines how many characters of each argument to a function to print. Use a value of 0 to show the full length of the argument.

Defaults to 64.


This variable determines how many arguments to each function to show. Use a false value to show all arguments to a function call. To suppress all arguments, use -1 or '0 but true'.

Defaults to 8.


This variable makes carp() and croak() generate stack backtraces just like cluck() and confess(). This is how use Carp 'verbose' is implemented internally.

Defaults to 0.


This variable sets a general argument formatter to display references. Plain scalars and objects that implement CARP_TRACE will not go through this formatter. Calling Carp from within this function is not supported.

local $Carp::RefArgFormatter = sub { require Data::Dumper; Data::Dumper::Dump($_[0]); # not necessarily safe };


This variable, in your package, says which packages are not to be considered as the location of an error. The carp() and cluck() functions will skip over callers when reporting where an error occurred.

NB: This variable must be in the package's symbol table, thus:

Example of use:

This would make Carp report the error as coming from a caller not in My::Carping::Package, nor from My::Friendly::Caller.

Also read the 'DESCRIPTION' section above, about how Carp decides where the error is reported from.

Use @CARP_NOT, instead of $Carp::CarpLevel.

Carp Songbook Sheet Music

Overrides Carp's use of @ISA.


This says what packages are internal to Perl. Carp will never report an error as being from a line in a package that is internal to Perl. For example:

would give a full stack backtrace starting from the first caller outside of __PACKAGE__. (Unless that package was also internal to Perl.)


This says which packages are internal to Perl's warning system. For generating a full stack backtrace this is the same as being internal to Perl, the stack backtrace will not start inside packages that are listed in %Carp::CarpInternal. But it is slightly different for the summary message generated by carp or croak. There errors will not be reported on any lines that are calling packages in %Carp::CarpInternal.

For example Carp itself is listed in %Carp::CarpInternal. Therefore the full stack backtrace from confess will not start inside of Carp, and the short message from calling croak is not placed on the line where croak was called.


This variable determines how many additional call frames are to be skipped that would not otherwise be when reporting where an error occurred on a call to one of Carp's functions. It is fairly easy to count these call frames on calls that generate a full stack backtrace. However it is much harder to do this accounting for calls that generate a short message. Usually people skip too many call frames. If they are lucky they skip enough that Carp goes all of the way through the call stack, realizes that something is wrong, and then generates a full stack backtrace. If they are unlucky then the error is reported from somewhere misleading very high in the call stack.


Therefore it is best to avoid $Carp::CarpLevel. Instead use @CARP_NOT, %Carp::Internal and %Carp::CarpInternal.

Defaults to 0.

The Carp routines don't handle exception objects currently. If called with a first argument that is a reference, they simply call die() or warn(), as appropriate.

Carp::Always, Carp::Clan

Carp is maintained by the perl 5 porters as part of the core perl 5 version control repository. Please see the perlhack perldoc for how to submit patches and contribute to it.

The Carp module first appeared in Larry Wall's perl 5.000 distribution. Since then it has been modified by several of the perl 5 porters. Andrew Main (Zefram) <[email protected]> divested Carp into an independent distribution.

Copyright (C) 1994-2013 Larry Wall

Copyright (C) 2011, 2012, 2013 Andrew Main (Zefram) <[email protected]>

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Koinobori at Chizu, Tottori
Koinobori flying in Oboke Koboke, Iya Valley, Tokushima Prefecture
A large selection of koinobori in Higashishirahige Park, 2015
Factory for hand-made koinobori

Koinobori (鯉のぼり), meaning 'carp streamer' in Japanese, are carp-shaped windsocks traditionally flown in Japan to celebrate Tango no sekku (端午の節句), a traditional calendrical event which is now designated a national holiday: Children's Day (Kodomo no Hi, 子供の日).[1] These windsocks are made by drawing carp patterns on paper, cloth or other nonwoven fabric. They are then allowed to flutter in the wind. They are also known as satsuki-nobori (皐のぼり).


Children's Day takes place on May 5, the last day of Golden Week, the largest break for workers and also a week in which businesses usually close for up to 9–10 days. Landscapes across Japan are decorated with koinobori from April to early May, in honor of children for a good future and in the hope that they will grow up healthy and strong.


A typical koinobori set consists of, from the top of the pole down, a pair of arrow-spoked wheels (矢車, yaguruma) with a ball-shaped spinning vane, flying-dragon streamer (飛龍吹流し, hiryū fukinagashi) that looks like a windsock. The number and meaning of the carp socks or koinobori that fly beneath the streamer has changed over time. Traditionally, the set would contain a black koinobori representing the father, followed by a smaller, red koinobori representing his eldest son. This is why, according to the Japanese American National Museum, in the traditional 'children's song,' the red one (higoi) represents the eldest son. If more boys were in the household, an additional blue, green and then, depending on the region, either purple or orange koinobori were added. After the government's decree that converted Boy's Day (Tango no Sekku) into the present Children's Day (Kodomo no Hi), the holiday came to celebrate the happiness of both boys and girls. As a result, the red koinobori came to represent the mother of the family and it is not uncommon for the color to be varied as pink. Similarly, the other colors and sizes of carp came to represent all the family's children, both sons and daughters. At present, the koinobori are commonly flown above the roofs of houses with children, with the biggest (black) koinobori for the father, next biggest (red or pink) for the mother, and an additional, smaller carp of a different color for each child in decreasing order by age.

These koinobori range from a few centimetres to a few metres long. In 1988, a 100m long koinobori weighing 350kg was made in Kazo, Saitama.


According to the Japanese American National Museum, the koi fish was chosen as a symbol for Boys' Day because 'the Japanese consider it the most spirited fish -- so full of energy and power that it can fight its way up swift-running streams and cascades. Because of its strength and determination to overcome all obstacles, it stands for courage and the ability to attain high goals. Since these are traits desired in boys, families traditionally flew Koinobori from their homes to honor their sons.' The streamers also pay homage to a myth from the late Han Dynasty about a golden koi fish that swam up a waterfall at the end of the Yellow River and became a dragon.[2]

In addition, there are many different theories about the origins of Children's Day itself. One source states that 'Boy's Day, now Children's Day, has been celebrated for more than 700 years, but no one knows exactly when or why it began. Another source says that it started in the year 1282, as a celebration for a victory won by samurai warriors in a battle with invaders'.citation needed Asia Kids Society has another theory that 'Until 1948, May 5 was called Tango no Sekku and only honored boys. A separate holiday called Hinamatsuri or 'Dolls' Day' celebrated girls on March 3. Even now, on this day girls still receive dolls that had been passed down to their grandmothers and mothers'. This fact led to a combination of holidays, and as described by AKS, 'For many families, May 5 still centers on boys. Some people say that Hinamatsuri for girls should become an equal holiday instead of combining them into one'. Whilst both sources have different theories, no one truly knows when the holiday actually began.

Today, along with the raising of Koinobori in each household, Asia Kid Society states that children also 'indulge in kashiwa mochi', sticky rice cakes wrapped in oak leaves, and other sweets. As a tradition, throughout Children's Day, children also thank and show respect for relatives, parents, and teachers for support throughout their life.

Koinobori song[edit]

A famous Koinobori song often sung by children and their families. It was published in Ehon shōka haru no maki (Picture Songbook, Spring) in 1932. The lyrics are by Miyako Kondō (近藤宮子), the composer is unknown.

Standard JapaneseHiraganaRōmajiTranslation

屋根より 高い 鯉のぼり
大きい 真鯉は お父さん
小さい 緋鯉は 子供たち
面白そうに 泳いでる

やねより たかい こいのぼり
おおきい まごいは おとうさん
ちいさい ひごいは こどもたち
おもしろそうに およいでる

yane yori takai koinobori
ōkii magoi wa otōsan
chiisai higoi wa kodomo-tachi
omoshirosō ni oyoideru

Higher than the roof-tops are the koinobori
The large carp is the father
The smaller carp are the children
They seem to be having fun swimming.

See also[edit]


  1. ^'Trend Illustrated Japanese-English Dictionary of Things Japanese', Shogakukan, 1999
  2. ^

Carp Songbook Sheet Music

External links[edit]

  • Media related to Koinobori at Wikimedia Commons

Carp Songbook

Retrieved from ''